home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / proc / sysinfo.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  4KB  |  135 lines

  1. #ifndef PROC_SYSINFO_H
  2. #define PROC_SYSINFO_H
  3. #include <sys/types.h>
  4. #include <sys/dir.h>
  5. #include "procps.h"
  6.  
  7. EXTERN_C_BEGIN
  8.  
  9. extern unsigned long long Hertz;   /* clock tick frequency */
  10. extern long smp_num_cpus;     /* number of CPUs */
  11.  
  12. #if 0
  13. #define JT double
  14. extern void seven_cpu_numbers(JT *uret, JT *nret, JT *sret, JT *iret, JT *wret, JT *xret, JT *yret);
  15. #undef JT
  16. #endif
  17.  
  18. extern int        uptime (double *uptime_secs, double *idle_secs);
  19. extern void       loadavg(double *av1, double *av5, double *av15);
  20.  
  21.  
  22. /* obsolete */
  23. extern unsigned long kb_main_shared;
  24. /* old but still kicking -- the important stuff */
  25. extern unsigned long kb_main_buffers;
  26. extern unsigned long kb_main_cached;
  27. extern unsigned long kb_main_free;
  28. extern unsigned long kb_main_total;
  29. extern unsigned long kb_swap_free;
  30. extern unsigned long kb_swap_total;
  31. /* recently introduced */
  32. extern unsigned long kb_high_free;
  33. extern unsigned long kb_high_total;
  34. extern unsigned long kb_low_free;
  35. extern unsigned long kb_low_total;
  36. /* 2.4.xx era */
  37. extern unsigned long kb_active;
  38. extern unsigned long kb_inact_laundry;  // grrr...
  39. extern unsigned long kb_inact_dirty;
  40. extern unsigned long kb_inact_clean;
  41. extern unsigned long kb_inact_target;
  42. extern unsigned long kb_swap_cached;  /* late 2.4+ */
  43. /* derived values */
  44. extern unsigned long kb_swap_used;
  45. extern unsigned long kb_main_used;
  46. /* 2.5.41+ */
  47. extern unsigned long kb_writeback;
  48. extern unsigned long kb_slab;
  49. extern unsigned long nr_reversemaps;
  50. extern unsigned long kb_committed_as;
  51. extern unsigned long kb_dirty;
  52. extern unsigned long kb_inactive;
  53. extern unsigned long kb_mapped;
  54. extern unsigned long kb_pagetables;
  55.  
  56. #define BUFFSIZE 8192
  57. typedef unsigned long long jiff;
  58. extern void getstat(jiff *restrict cuse, jiff *restrict cice, jiff *restrict csys, jiff *restrict cide, jiff *restrict ciow, jiff *restrict cxxx, jiff *restrict cyyy,
  59.          unsigned long *restrict pin, unsigned long *restrict pout, unsigned long *restrict s_in, unsigned long *restrict sout,
  60.          unsigned *restrict intr, unsigned *restrict ctxt,
  61.          unsigned int *restrict running, unsigned int *restrict blocked,
  62.          unsigned int *restrict btime, unsigned int *restrict processes);
  63.  
  64. extern void meminfo(void);
  65.  
  66.  
  67. extern unsigned long vm_nr_dirty;
  68. extern unsigned long vm_nr_writeback;
  69. extern unsigned long vm_nr_pagecache;
  70. extern unsigned long vm_nr_page_table_pages;
  71. extern unsigned long vm_nr_reverse_maps;
  72. extern unsigned long vm_nr_mapped;
  73. extern unsigned long vm_nr_slab;
  74. extern unsigned long vm_pgpgin;
  75. extern unsigned long vm_pgpgout;
  76. extern unsigned long vm_pswpin;
  77. extern unsigned long vm_pswpout;
  78. extern unsigned long vm_pgalloc;
  79. extern unsigned long vm_pgfree;
  80. extern unsigned long vm_pgactivate;
  81. extern unsigned long vm_pgdeactivate;
  82. extern unsigned long vm_pgfault;
  83. extern unsigned long vm_pgmajfault;
  84. extern unsigned long vm_pgscan;
  85. extern unsigned long vm_pgrefill;
  86. extern unsigned long vm_pgsteal;
  87. extern unsigned long vm_kswapd_steal;
  88. extern unsigned long vm_pageoutrun;
  89. extern unsigned long vm_allocstall;
  90.  
  91. extern void vminfo(void);
  92.  
  93. typedef struct disk_stat{
  94.     unsigned long long reads_sectors;
  95.     unsigned long long written_sectors;
  96.     char               disk_name [16];
  97.     unsigned           inprogress_IO;
  98.     unsigned           merged_reads;
  99.     unsigned           merged_writes;
  100.     unsigned           milli_reading;
  101.     unsigned           milli_spent_IO;
  102.     unsigned           milli_writing;
  103.     unsigned           partitions;
  104.     unsigned           reads;
  105.     unsigned           weighted_milli_spent_IO;
  106.     unsigned           writes;
  107. }disk_stat;
  108.  
  109. typedef struct partition_stat{
  110.     char partition_name [16];
  111.     unsigned long long reads_sectors;
  112.     unsigned           parent_disk;  // index into a struct disk_stat array
  113.     unsigned           reads;
  114.     unsigned           writes;
  115.     unsigned           requested_writes;
  116. }partition_stat;
  117.  
  118. extern unsigned int getpartitions_num(struct disk_stat *disks, int ndisks);
  119. extern unsigned int getdiskstat (struct disk_stat**,struct partition_stat**);
  120.  
  121. typedef struct slab_cache{
  122.     char name[48];
  123.     unsigned active_objs;
  124.     unsigned num_objs;
  125.     unsigned objsize;
  126.     unsigned objperslab;
  127. }slab_cache;
  128.  
  129. extern unsigned int getslabinfo (struct slab_cache**);
  130.  
  131. extern unsigned get_pid_digits(void) FUNCTION;
  132.  
  133. EXTERN_C_END
  134. #endif /* SYSINFO_H */
  135.